#!/usr/bin/env python
#--------------------------python-pyturtle----------------01casetta.py--#
#                                                                       #
#                              Casetta                                  #
#                                                                       #
#--Daniele Zambelli-----------------------------------------------2005--#

from random import random
from pyturtle import Turtle
tina=Turtle()

def coloraacaso():
  '''Assegna a Tartaruga un colore con componenti RGB casuali'''
  tina.setcolor(random(), random(), random())

def casa():
  """Disegna l'intera casetta."""
  facciata()
  tina.left(90)
  tina.forward(100)
  tina.right(90)
  coloraacaso()
  tina.fill(1)
  tetto()
  tina.fill(0)
  tina.left(90)
  tina.back(100)
  tina.right(90)

def facciata():
  """Disegna la facciata."""
  coloraacaso()
  tina.fill(1)
  muri()
  tina.fill(0)
  interno()

def muri():
  """Disegna il controrno della facciata."""
  for i in xrange(4):
    tina.forward(100)
    tina.left(90)

def interno():
  """Disegna l'interno della facciata."""
  tina.forward(40)
  coloraacaso()
  tina.fill(1)
  porta()
  tina.fill(0)
  tina.up()
  tina.left(90)
  tina.forward(60)
  tina.right(90)
  tina.back(30)
  tina.down()
  coloraacaso()
  tina.fill(1)
  finestre()
  tina.fill(0)
  tina.up()
  tina.back(10)
  tina.left(90)
  tina.back(60)
  tina.right(90)
  tina.down()

def porta():
  """Disegna un rettangolo."""
  for i in xrange(2):
    tina.forward(20)
    tina.left(90)
    tina.forward(40)
    tina.left(90)

def finestre():
  """Disegna due finestre."""
  finestra()
  tina.up()
  tina.forward(60)
  tina.down()
  finestra()
  tina.up()
  tina.back(60)
  tina.down()

def finestra():
  """Disegna un quadratino."""
  for i in xrange(4):
    tina.forward(20)
    tina.left(90)

def tetto():
  """Disegna il tetto."""
  falde()
  tina.left(60)
  tina.forward(30)
  tina.left(30)
  camino()
  tina.right(30)
  tina.back(30)
  tina.right(60)

def falde():
  """Disegna un triangolo."""
  for i in xrange(3):
    tina.forward(100)
    tina.left(120)

def camino():
  """Disegna il camino."""
  tina.forward(30)
  tina.right(90)
  tina.forward(10)
  tina.right(90)
  tina.forward(12)
  tina.back(12)
  tina.left(90)
  tina.back(10)
  tina.left(90)
  tina.back(30)

casa()
